package ru.chaykin.threadmanager;

/**
 * Класс служит для сохранения экземпляра потока при перевороте экрана. (При перевороте экземпляр Activity уничтожается и создается новый. 
 * Вместе с ним уничтожается и экзепляр потока. Во избежание этого и создан данный класс)
 * @author k.chaykin
 */
public class ThreadManager {
	
	private Thread threads;
	
    public void setThread(Thread thread) {
		this.threads = thread; // Keep task
		thread.setPriority(Thread.MAX_PRIORITY );
		thread.start();
    }
    
    public Thread getThread() {
    	return threads;
    }
	
	public Object retainTask() {
		return threads; 	// Retain task
    }

    public void handleRetainedTask(Object instance) {
		if (instance instanceof Thread) { // Restore retained task and attach it to tracker (this)
		    threads = (Thread) instance;
		}
    }

}
